home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 May / Disc 2 / PCU0503CD2.iso / Crystal / 3rdparty / JavaVM / Plug-in / jplugin.exe / jaws.jar / sun / plugin / ActivatorAppletContext.class (.txt) next >
Encoding:
Java Class File  |  1998-06-22  |  3.1 KB  |  125 lines

  1. package sun.plugin;
  2.  
  3. import java.applet.Applet;
  4. import java.applet.AppletContext;
  5. import java.applet.AudioClip;
  6. import java.awt.Image;
  7. import java.net.URL;
  8. import java.util.Enumeration;
  9. import java.util.Hashtable;
  10. import java.util.Vector;
  11. import sun.applet.ActivatorAppletImageRef;
  12. import sun.applet.AppletAudioClip;
  13. import sun.applet.AppletPanel;
  14. import sun.applet.AppletSecurity;
  15. import sun.misc.Ref;
  16.  
  17. public abstract class ActivatorAppletContext implements AppletContext {
  18.    private AppletPanel appletPanel;
  19.    private static Vector appletPanels = new Vector();
  20.    private static Hashtable audioClips = new Hashtable();
  21.    private static Hashtable imageRefs = new Hashtable();
  22.  
  23.    public AudioClip getAudioClip(URL var1) {
  24.       System.getSecurityManager().checkConnect(var1.getHost(), var1.getPort());
  25.       Hashtable var3 = audioClips;
  26.       synchronized(var3){}
  27.  
  28.       Object var2;
  29.       try {
  30.          Object var5 = (AudioClip)audioClips.get(var1);
  31.          if (var5 == null) {
  32.             var5 = new AppletAudioClip(var1);
  33.             audioClips.put(var1, var5);
  34.          }
  35.  
  36.          var2 = var5;
  37.       } catch (Throwable var7) {
  38.          throw var7;
  39.       }
  40.  
  41.       return (AudioClip)var2;
  42.    }
  43.  
  44.    public Image getImage(URL var1) {
  45.       System.getSecurityManager().checkConnect(var1.getHost(), var1.getPort());
  46.       Hashtable var3 = imageRefs;
  47.       synchronized(var3){}
  48.  
  49.       Image var2;
  50.       try {
  51.          ActivatorAppletImageRef var5 = (ActivatorAppletImageRef)imageRefs.get(var1);
  52.          if (var5 == null) {
  53.             var5 = new ActivatorAppletImageRef(var1);
  54.             imageRefs.put(var1, var5);
  55.          }
  56.  
  57.          var2 = (Image)((Ref)var5).get();
  58.       } catch (Throwable var7) {
  59.          throw var7;
  60.       }
  61.  
  62.       return var2;
  63.    }
  64.  
  65.    public Applet getApplet(String var1) {
  66.       AppletSecurity var2 = (AppletSecurity)System.getSecurityManager();
  67.       var1 = var1.toLowerCase();
  68.       Enumeration var3 = appletPanels.elements();
  69.  
  70.       while(var3.hasMoreElements()) {
  71.          AppletPanel var4 = (AppletPanel)var3.nextElement();
  72.          String var5 = var4.getParameter("name");
  73.          if (var5 != null) {
  74.             var5 = var5.toLowerCase();
  75.          }
  76.  
  77.          if (var1.equals(var5) && var4.getDocumentBase().equals(this.appletPanel.getDocumentBase())) {
  78.             try {
  79.                var2.checkConnect(this.appletPanel.getCodeBase().getHost(), var4.getCodeBase().getHost());
  80.                return var4.getApplet();
  81.             } catch (SecurityException var7) {
  82.                this.showStatus(((Throwable)var7).getMessage());
  83.             }
  84.          }
  85.       }
  86.  
  87.       return null;
  88.    }
  89.  
  90.    public Enumeration getApplets() {
  91.       AppletSecurity var1 = (AppletSecurity)System.getSecurityManager();
  92.       Vector var2 = new Vector();
  93.       Enumeration var3 = appletPanels.elements();
  94.  
  95.       while(var3.hasMoreElements()) {
  96.          AppletPanel var4 = (AppletPanel)var3.nextElement();
  97.          if (var4.getDocumentBase().equals(this.appletPanel.getDocumentBase())) {
  98.             try {
  99.                var1.checkConnect(this.appletPanel.getCodeBase().getHost(), var4.getCodeBase().getHost());
  100.                var2.addElement(var4.getApplet());
  101.             } catch (SecurityException var6) {
  102.                this.showStatus(((Throwable)var6).getMessage());
  103.             }
  104.          }
  105.       }
  106.  
  107.       return var2.elements();
  108.    }
  109.  
  110.    public abstract void showDocument(URL var1);
  111.  
  112.    public abstract void showDocument(URL var1, String var2);
  113.  
  114.    public abstract void showStatus(String var1);
  115.  
  116.    void addAppletInContext(AppletPanel var1) {
  117.       this.appletPanel = var1;
  118.       appletPanels.addElement(var1);
  119.    }
  120.  
  121.    void removeAppletFromContext(AppletPanel var1) {
  122.       appletPanels.removeElement(var1);
  123.    }
  124. }
  125.